package com.cskaoyan.javase.io._6standard;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 *  现在请进行思考，并完成以下练习：
 *  利用标准输入流，模拟Scanner键盘录入的nextLine()方法实现。
 *  nextLine()方法表示从键盘接收一整行的数据输入,而且接收的结果是一个字符串
 *  --> 现在先思考一下哪个read方法可以读一整行数据?
 *  带缓冲的字符输入流有这个方法 --> BufferedReader独有的成员方法readLine()
 *  -->
 *  所以在这里你需要一个带缓冲的字符输入流BufferedReader对象,来完成这个操作
 *  但是标准输入流System.in它是一个字节输入流
 *  于是
 *  --> 字节输入流-->带缓冲的字符输入流?
 *
 * @since 17:24
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) throws IOException {
        InputStream in = System.in;
        // 字节输入流转换成字符输入流,需要用转换流
        InputStreamReader reader = new InputStreamReader(in);
        BufferedReader bufferedReader = new BufferedReader(reader);

        // read一行数据,readLine此时就表示从键盘录入读取一行数据
        while (true) {
            System.out.println("请输入一行字符串:");
            String str = bufferedReader.readLine();
            System.out.println(str);
            if (str.endsWith("吃饭")) {
                break;
            }
        }
        bufferedReader.close();

    }
}
